Список изображений мы подготовили. Это хорошо. Теперь давайте его испытаем. Идея такая. Кнопка может содержать не только надпись, но и изображение из иконы. Вот и давайте поместим на наш диалог кнопку. И при нажатии на неё будут меняться картинки. По очереди естественно. Для начала надо установить у кнопки стиль, что она с иконой будет. Вот так.

Для кнопки надо создать класс в классе диалога. Лучше с помощью ClassWizard. Вот так.
class CTestImageDlg : public CDialog
{
...........
enum { IDD = IDD_TESTIMAGE_DIALOG };
CButton m_Button;
...........
};
Теперь давайте заведем число, которое будет отвественено за то, какую картинку выводить.
class CTestImageDlg : public CDialog
{
// Construction
public:
int intImage;
...........
};
И инициализируем его для начала в конструктолре класса диалога.
CTestImageDlg::CTestImageDlg(CWnd* pParent /*=NULL*/)
: CDialog(CTestImageDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CTestImageDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
intImage=-1;
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
Ну вот теперь можно создавать и код нажатия на кнопку. Он простой. Смотрите.
void CTestImageDlg::OnButton1()
{
if (intImage<3) intImage++;
else intImage=0;
m_Button.SetIcon(cl.ExtractIcon(intImage));
}
Идея здесь простая. У класса кнопки есть функция SetIcon, которая и устанавливает картинку. А у класса списка изображений есть функция ExtractIcon, которая эту икону извлекает. Вобщем получается, что написано - установить извлеченное. :-)
Запускайте проект. Щелкайте по кнопке у неё будет меняться икона. Чего и хотели.